# 定义功能界面函数
def info_print():
    print('请选择功能-----')
    print('1、添加学员')
    print('2、删除学员')
    print('3、修改学员')
    print('4、查询学员')
    print('5、显示所有学员')
    print('6、退出系统')
    print('-------------')


# 学生信息的容器
info = []


def add_info():
    """ 添加学员信息 """
    # 1、用户输入学号、手机号、姓名
    new_id = input('请输入学号：')
    new_name = input('请输入姓名：')
    new_phone = input('请输入手机号：')

    # 2、判断是否添加这个学员：姓名存在则不添加，姓名不存在则添加
    # 2.1 姓名存在，不添加
    global info
    for dict in info:
        if new_name == dict['name']:
            print('此学生姓名已经存在')
            return  # 退出当前函数，不再添加

    # 2.2 姓名不存在，添加
    info_dict = {}  # 要新增的字典 -- 存储新学员的信息
    info_dict['id'] = new_id
    info_dict['name'] = new_name
    info_dict['phone'] = new_phone

    # 列表中添加新学员
    info.append(info_dict)


def del_info():
    """ 删除学员信息 """
    # 1、用户输入要删除的学员姓名
    del_name = input('请输入要删除的学员姓名：')
    # 2、判断学员姓名是否存在，存在则删除，不存在则提示
    global info
    for dict in info:
        if del_name == dict['name']:
            info.remove(dict)
            break
    else:
        print('该学员不存在，无法删除')


def modify_info():
    """ 修改学员信息 """
    # 1、用户输入想要修改的学员姓名
    modify_name = input('请输入要修改的学员姓名：')

    # 2、判断学员是否存在：存在则修改，不存在则提示
    global info
    for dict in info:
        if modify_name == dict['name']:
            dict['id'] = input('请输入新的学号：')
            dict['phone'] = input('请输入新的手机号：')
            break
    else:
        print('该学员不存在')


def search_info():
    """ 查询学员信息 """
    # 1、请输入目标学员姓名
    search_name = input('请输入要查询的学员姓名：')

    # 2、检查学员是否存在：存在则打印这个学员的信息；不存在则提示
    global info
    for dict in info:
        if search_name == dict['name']:
            # 查找到该学员
            print('查询到的学员信息如下-------')
            print(f"该学生的学号为{dict['id']}，姓名为{search_name}，手机号码为{dict['phone']}")
            break
    else:
        # 学员不存在则提示
        print('该学员不存在')


def print_all():
    """ 显示所有学员信息 """
    # 1、打印提示字
    print('学号\t姓名\t手机号')

    # 2、打印所有学员的数据
    for dict in info:
        print(f"{dict['id']}\t{dict['name']}\t{dict['phone']}")



while True:
    # 1、显示功能界面
    info_print()

    # 2、用户输入功能序号
    user_number = eval(input('请输入您的选择：'))

    # 3、按照用户输入的功能序号，执行不同的功能 -- 多重判断
    if user_number == 1:
        add_info()
    elif user_number == 2:
        del_info()
    elif user_number == 3:
        modify_info()
    elif user_number == 4:
        search_info()
    elif user_number == 5:
        print_all()
    elif user_number == 6:
        exit_flag = input('确定要退出吗？1、退出  2、取消\n')
        if exit_flag == '1':
            break
    else:
        print('您输入的功能序号有误')
